package com.example.project.entity;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.example.project.annotation.Excel;
import com.example.project.core.domain.BaseEntity;

/**
 * 用户关注对象 t_watcher
 * 
 * @author ruoyi
 * @date 2025-11-06
 */
public class Watcher extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/** 主键ID */
	private Long id;

	/** 类型 */
	@Excel(name = "类型")
	private String watchableType;

	/** 对象ID */
	@Excel(name = "对象ID")
	private Long watchableId;

	/** 用户ID */
	@Excel(name = "用户ID")
	private Long userId;

	private String userName;

	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return id;
	}

	public void setWatchableType(String watchableType) {
		this.watchableType = watchableType;
	}

	public String getWatchableType() {
		return watchableType;
	}

	public void setWatchableId(Long watchableId) {
		this.watchableId = watchableId;
	}

	public Long getWatchableId() {
		return watchableId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getUserId() {
		return userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId())
				.append("watchableType", getWatchableType()).append("watchableId", getWatchableId())
				.append("userId", getUserId()).append("createTime", getCreateTime())
				.append("updateTime", getUpdateTime()).toString();
	}
}
